package com.tongzhan.service;

import com.tongzhan.base.Return;
import com.tongzhan.entity.religion.Site;
import com.tongzhan.entity.religion.SiteInfo;

import java.util.List;

public interface SiteService {

    /**
     * 根据场所编码查询场所信息
     *
     * @param siteCode
     * @return
     */
    Site selectByCode(String siteCode);

    /**
     * 新增场所信息
     *
     * @param site
     * @param address
     * @param beliefType
     * @param buildYears
     * @param historyEvolution
     * @param believers
     * @param picture
     * @param personName
     * @param personTelephone
     * @param creditCode
     * @param registrationNo
     * @return
     */
    Return addSite(Site site, String address, String beliefType, String buildYears, String historyEvolution, String believers, String picture, String personName, String personTelephone, String creditCode, String registrationNo);

    /**
     * 获取场所列表
     *
     * @param religionCode
     * @param page
     * @param size
     * @return
     */
    Return getSiteList(String religionCode, Integer page, Integer size);

    /**
     * 场所详细信息
     *
     * @param siteInfoCode
     * @return
     */
    Return siteDetails(String siteInfoCode);

    /**
     * 根据已平安报送场所编码集合查询未报送场所列表
     *
     * @param isReportedList
     * @return
     */
    List<SiteInfo> selectNotReported(List<String> isReportedList);

    /**
     * 上升、下降或置顶
     *
     * @param siteInfoCode
     * @param type
     * @return
     */
    Return changeSort(String siteInfoCode, Integer type);

    /**
     * 根据编码获取场所详情
     *
     * @param siteInfoCode
     * @return
     */
    SiteInfo selectSiteInfoByCode(String siteInfoCode);

    /**
     * 边界场所信息
     *
     * @param siteInfo
     * @return
     */
    Return editSiteInfo(SiteInfo siteInfo);

    /**
     * 删除场所
     *
     * @param siteInfoCode
     */
    void delete(String siteInfoCode);
}
